C++ 中的位移运算符

您所在的位置:网站首页 php 位移 妙用 C++ 中的位移运算符

C++ 中的位移运算符

2023-09-22 16:33| 来源: 网络整理| 查看: 265

C++ 中的左位移位运算符 C++ 中的右位移运算符 C++ 中浮点数据类型的位移 C++ 中数组的位移 C++ 中的位移位和掩码 C++ 中负数的位移 在 C++ 中使用 Long 进行位移 结论

在 C++ 中,位移运算符按照其名称的含义进行操作,即位移位。根据程序的要求,移位运算符将二进制位向左或向右移动。

整数值应用于这些运算符(int、long、可能是 short 和 byte 或 char)。在某些语言中,对小于 int 的任何数据类型使用移位运算符会自动将操作数的大小调整为 int。

本文将详细讨论 C++ 中的左移和右移运算符及其实现以及相关示例。

C++ 中的左位移位运算符

左移运算符将移位表达式中的位向左移动加法表达式中的位数。移位操作腾出的位位置用零填充,从末尾移出的位被丢弃,包括符号位。

左移运算符需要两个数字。这会移动第一个操作数的位,而第二个操作数决定要移位的位数。

你可以说将整数 a 与整数 b 左移,用 (a C++ 中的右位移运算符

右移运算符将移位表达式中的位模式移动加法表达式向右提供的位数。对于无符号值,移位操作腾出的位位置是零填充的。

符号位替换有符号数中的空位位置。如果数字为正,则使用值 0;如果数字为负数,则使用值 1。

右移运算符需要两个数字。这会移动第一个操作数的位,而第二个操作数决定要移位的位数。

你可以说将整数 a 与整数 b 右移,表示为 (a>>b),相当于将 a 除以 2^b(2 的 b 次方)。右移运算符表示为:>>。

例如,M>>k 。这里,M 是第一个操作数,k 是第二个操作数。

让我们取 M=32; 这是二进制的 100000 和 k = 2。如果 M 右移 2,表示为 M=M>>2,那么 M 将变为 M=M/(2^2)。因此,M=32/(2^2)=8 可以写成 1000。

示例程序:

#include int main() { unsigned char x = 6, y = 9; cout #include using namespace std; int setBitNumber(int n) { int m = log2(n); return m; } bool check(int ar[], int m, int n) { for (int i = 0; i m) { arr[i] = el; break; } } } } if (check(ar, m, n)) { for (int i = 0; i

对于 32 位,

unsigned long A = (1L


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3